const  express = require("express")
const app=express()
// 2.引入 url模块  对url格式的字符串进行解析,返回一个对象.根据不同的url进行处理,返回不同的数据
const url=require('url')

// 中间件先过滤一次请求
app.all('*',(req,res,next)=>{
    res.header('Access-Control-Allow-Origin','*') //*表示可以跨域任何域名都行 也可以填域名表示只接受某个域名
    // res.setHeader('Access-Control-Allow-Headers','X-Requested-With,Content-Type')//可以支持的消息首部列表
    res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS')//可以支持的提交方式
    res.header('Content-Type','application/json;charset=utf-8') //请求头中定义的类型
    next()
})

// 定义一个对象数组
let animals=[
  {
    name:"cat",
    age:4,
    gender:"boy"
  },
  {
    name:"dog",
    age:5,
    gender:"girl"
  }
]

// 编写get 接口

app.get("/xhr-get",(req,res)=>{
  
  console.log(req.url)
  // 对url进行解析，将第二个参数设置为true 会将query属性生成为一个对象
  let parseObj=url.parse(req.url,true)
  // 只需要获取req传过来的query参数
  let  {query}=parseObj
  res.status(200)
  console.log("传过来的query为:")
  console.log(query)
  //服务器响应的数据
  res.send(animals)
})

// 监听端口启动服务

let server=app.listen(3000,()=>{
  let port = server.address().port
  console.log(`端口${port}正在监听中`)
})
